; Music of Amazing (1986) (Infogrames)
; Ripped by Megachur the 10/01/2009

	write "AMAZING.BIN"

music_date_rip	equ &0a19
music_adr	equ &7627
first_theme	equ 0	; 0 -> 0
last_theme	equ 0

	read "music_header_v1_0.asm"

;
.init_music
;
	ld hl,l7887
	ld (hl),#00
	ld de,l7888
	ld bc,#009b
	ldir
	ld a,(l79f6)
	ld (l7923),a
	ld hl,(l79f7)
	ld (l7924),hl
	ld hl,(l79f9)
	ld (l7926),hl
	ld hl,(l79fb)
	ld (l78ac),hl
	ld hl,(l79fd)
	ld (l78cc),hl
	ld hl,l79ff
	ld (l788c),hl
	ld a,#0f
	ld (l7929),a
	ld hl,l7881
	ld de,l7887
	ld bc,#0005
	ldir
	ld hl,l7881
	ld de,l78a7
	ld bc,#0005
	ldir
	ld hl,l7881
	ld de,l78c7
	ld bc,#0005
	ldir
	ld c,#38
	ld a,#07
	call l785f
	ret
;
.play_music
;
	ld a,(l7929)
	ld c,a
	ld b,#03
	ld hl,l78e6
.l768f
	ld a,(hl)
	cp c
	jr c,l7694
	ld a,c
.l7694
	push bc
	ld c,a
	ld a,b
	add #07
	call l785f
	pop bc
	ld de,#0020
	and a
	sbc hl,de
	djnz l768f
	ld hl,l7923
	dec (hl)
	ld ix,l7887
	xor a
.l76ae
	ld (l7928),a
	ld a,(ix+#07)
	or a
	jp nz,l77f1
.l76b8
	ld (ix+#00),#00
	ld a,(ix+#08)
	ld (ix+#07),a
.l76c2
	ld l,(ix+#03)
	ld h,(ix+#04)
	ld a,(hl)
	cp #ff
	jr nz,l7702
	ld l,(ix+#01)
	ld h,(ix+#02)
.l76d3
	ld a,(hl)
	cp #ff
	jr nz,l76e7
	ld l,(ix+#05)
	ld h,(ix+#06)
	ld (ix+#01),l
	ld (ix+#02),h
	jp l76d3
.l76e7
	inc hl
	ld (ix+#01),l
	ld (ix+#02),h
	add a
	ld hl,(l7924)
	ld c,a
	ld b,#00
	add hl,bc
	ld c,(hl)
	inc hl
	ld b,(hl)
	ld (ix+#03),c
	ld (ix+#04),b
	jp l76c2
.l7702
	bit 7,a
	jr nz,l7743
	ld hl,l792a
	add a
	ld c,a
	ld b,#00
	add hl,bc
	ld c,(hl)
	ld a,(l7928)
	add a
	call l785f
	inc hl
	ld c,(hl)
	inc a
	call l785f
	ld (ix+#0a),#00
	ld (ix+#1f),#00
	push ix
	pop hl
	ld bc,#000b
	add hl,bc
	ex de,hl
	ld a,(l7928)
	inc a
	ld hl,l78d3
	ld bc,#0014
.l7736
	add hl,bc
	dec a
	jr nz,l7736
	ldir
	ld (ix+#00),#ff
	jp l77e2
.l7743
	bit 6,a
	jr nz,l7777
	bit 5,a
	jp z,l7764
	and #1f
	push af
	ld a,#07
	ld c,#38
	jr z,l7757
	ld c,#18
.l7757
	call l785f
	pop af
	ld c,a
	ld a,#06
	call l785f
	jp l77e2
.l7764
	and #1f
	ld hl,l79ea
	ld c,a
	ld b,#00
	add hl,bc
	ld a,(hl)
	ld (ix+#07),a
	ld (ix+#08),a
	jp l77e2
.l7777
	bit 5,a
	jr nz,l77e2
	and #1f
	add a
	add a
	add a
	ld hl,(l7926)
	ld c,a
	ld b,#00
	add hl,bc
	ex de,hl
	push ix
	pop hl
	ld bc,#000b
	add hl,bc
	ld (ix+#0a),#00
.l7793
	ld a,(de)
	bit 7,a
	jr nz,l77a5
	ld (hl),#00
	inc hl
	ld (hl),a
	inc hl
	inc hl
	inc hl
	inc de
	ld a,(de)
	ld (hl),a
	jp l77bd
.l77a5
	ld (hl),#ff
	and #7f
	inc hl
	ld (hl),a
	inc hl
	ld (hl),a
	inc de
	ld a,(de)
	ld b,#ff
	bit 7,a
	jr nz,l77b7
	ld b,#01
.l77b7
	and #7f
	inc hl
	ld (hl),a
	inc hl
	ld (hl),b
.l77bd
	inc de
	inc hl
	inc (ix+#0a)
	ld a,#04
	cp (ix+#0a)
	jr nz,l7793
	ld (ix+#0a),#00
	ld bc,#0014
	or a
	sbc hl,bc
	ex de,hl
	ld hl,l78d3
	ld a,(l7928)
	inc a
.l77db
	add hl,bc
	dec a
	jr nz,l77db
	ex de,hl
	ldir
.l77e2
	inc (ix+#03)
	jr nz,l77ea
	inc (ix+#04)
.l77ea
	ld a,(ix+#00)
	or a
	jp z,l76b8
.l77f1
	ld a,(l7923)
	or a
	jr nz,l77fa
	dec (ix+#07)
.l77fa
	ld a,(ix+#0a)
	cp #04
	jp z,l7844
	push ix
	pop hl
	ld b,a
	add a
	add a
	add b
	add #0b
	ld c,a
	ld b,#00
	add hl,bc
	ld a,(hl)
	inc hl
	or a
	jr nz,l7827
	dec (hl)
	jr nz,l781a
	inc (ix+#0a)
.l781a
	inc hl
	inc hl
	inc hl
	ld a,(ix+#1f)
	add (hl)
	ld (ix+#1f),a
	jp l7844
.l7827
	dec (hl)
	jr nz,l783c
	inc hl
	ld a,(hl)
	dec hl
	ld (hl),a
	inc hl
	inc hl
	inc hl
	ld a,(ix+#1f)
	add (hl)
	ld (ix+#1f),a
	dec hl
	jp l783e
.l783c
	inc hl
	inc hl
.l783e
	dec (hl)
	jr nz,l7844
	inc (ix+#0a)
.l7844
	ld bc,#0020
	add ix,bc
	ld a,(l7928)
	inc a
	cp #03
	jp nz,l76ae
	ld a,(l7923)
	or a
	jr nz,l785e
	ld a,(l79f6)
	ld (l7923),a
.l785e
	ret
.l785f
	push af
	push bc
	ld b,#f4
	out (c),a
	ld b,#f6
	in a,(c)
	or #c0
	out (c),a
	and #3f
	out (c),a
	ld b,#f4
	out (c),c
	ld b,#f6
	ld c,a
	or #80
	out (c),a
	out (c),c
	pop bc
	pop af
	ret
.l7881
	db #00
	dw l7886,l7886
.l788c equ $ + 6
.l7888 equ $ + 2
.l7887 equ $ + 1
.l7886
	db #ff,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l78ac equ $ + 6
.l78a7 equ $ + 1
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l78cc equ $ + 6
.l78c7 equ $ + 1
	db #00,#00,#00,#00,#00,#00,#00,#00
.l78d3 equ $ + 5
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l78e6
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l7924 equ $ + 6
.l7923 equ $ + 5
	db #00,#00,#00,#00,#00,#00,#00,#00
.l792a equ $ + 4
.l7929 equ $ + 3
.l7928 equ $ + 2
.l7926
	db #00,#00,#00,#00,#00,#00
	dw #0c9c,#0be7,#0b3c,#0a9b
	dw #0a02,#0973,#08eb,#086b
	dw #07f2,#0780,#0714,#06ae
	dw #064e,#05f4,#059e,#054d
	dw #0501,#0469,#0475,#0435
	dw #03f9,#03c0,#038a,#0357
	dw #0327,#02fa,#02cf,#02a7
	dw #0281,#025d,#023b,#021b
	dw #01fc,#01e0,#01c5,#01ac
	dw #0194,#017d,#0168,#0153
	dw #0140,#012e,#011d,#010d
	dw #00fe,#00f0,#00e2,#00d6
	dw #00ca,#00be,#00b4,#00aa
	dw #00a0,#0097,#008f,#0087
	dw #007f,#0078,#0071,#006b
	dw #0065,#005f,#005a,#0055
	dw #0050,#004c,#0047,#0043
	dw #0040,#003c,#0039,#0035
	dw #0032,#0030,#002d,#002a
	dw #0028,#0026,#0024,#0022
	dw #0020,#001e,#001c,#001b
	dw #0019,#0018,#0016,#0015
	dw #0014,#0013,#0012,#0011
	dw #0010,#000f,#000e
.l79ea
	db #02,#03,#04,#06,#08,#0c,#10,#18
.l79f6 equ $ + 4
	db #20,#30,#40,#60,#02
.l79fd equ $ + 6
.l79fb equ $ + 4
.l79f9 equ $ + 2
.l79f7
	dw l7e4d,l7d4d,l7a15,l7a2c
.l79ff
	db #01,#01,#01,#01,#01,#01,#00,#01
	db #02,#04,#03,#00,#01,#01,#02,#04
	db #05,#05,#01,#05,#05,#ff
.l7a15
	db #07,#07,#06,#06,#0b,#08,#0a,#09
	db #06,#0b,#0b,#08,#0a,#0c,#0c,#0c
	db #0c,#0b,#0c,#0c,#0c,#0c,#ff
.l7a2c
	db #0d,#0e,#0d,#0d,#0d,#0e,#0d,#0d
	db #0d,#0e,#0e,#0e,#0d,#0e,#0d,#0d
	db #0e,#0d,#0d,#0d,#0e,#0d,#0e,#0e
	db #0e,#0d,#0f,#10,#10,#10,#10,#0f
.l7a51 equ $ + 5
	db #10,#10,#10,#10,#ff,#d3,#82,#44
	db #49,#46,#42,#3f,#42,#41,#3d,#3f
	db #c0,#00,#d3,#3f,#38,#c0,#00,#d3
	db #3a,#3c,#38,#3d,#3f,#41,#3d,#42
	db #41,#3f,#3d,#3f,#3f,#46,#44,#80
	db #46,#44,#82,#46,#44,#38,#44,#49
	db #48,#44,#41,#46,#44,#41,#3f,#c0
	db #00,#d3,#3f,#38,#c0,#00,#d3,#3a
	db #3c,#38,#3d,#3f,#41,#3d,#42,#41
	db #3f,#3d,#80,#3f,#41,#42,#44,#82
	db #41,#3f,#c0,#00,#d3,#3f,#3d,#c0
.l7aab equ $ + 7
.l7aa7 equ $ + 3
	db #82,#00,#ff,#c0,#8a,#00,#ff,#d3
	db #82,#3c,#d4,#3f,#d3,#3d,#38,#d4
	db #42,#d5,#42,#d4,#41,#d3,#3d,#d4
	db #46,#d5,#46,#d3,#44,#3d,#d4,#49
	db #d5,#49,#d4,#48,#c0,#00,#d3,#42
	db #d5,#46,#d4,#44,#d5,#44,#c0,#00
	db #d5,#44,#d3,#42,#38,#d4,#42,#d5
	db #42,#d3,#41,#38,#c0,#00,#d3,#3a
.l7ae9 equ $ + 5
	db #d4,#3b,#d3,#3a,#ff,#d3,#82,#44
	db #42,#49,#c0,#00,#d3,#44,#42,#49
	db #49,#d3,#82,#44,#43,#4b,#c0,#00
	db #d3,#44,#43,#4b,#4b,#46,#44,#4d
	db #c0,#00,#d3,#46,#44,#4d,#4d,#46
	db #44,#4e,#c0,#00,#d3,#46,#44,#4e
.l7b16 equ $ + 2
	db #4e,#ff,#d3,#82,#3a,#3a,#3d,#c0
	db #00,#d3,#3c,#3c,#46,#44,#c0,#00
	db #d3,#44,#49,#41,#3f,#3d,#c0,#00
	db #d3,#3d,#d3,#82,#3f,#d4,#3f,#d5
	db #41,#d3,#3d,#3c,#3a,#3c,#3d,#3f
	db #d4,#3f,#d3,#3c,#3a,#38,#c0,#00
.l7b48 equ $ + 4
	db #d3,#44,#45,#ff,#d4,#82,#4d,#4d
	db #4b,#49,#4e,#4d,#4b,#49,#4b,#4b
	db #4b,#d4,#44,#c0,#00,#d4,#4b,#4d
	db #4e,#d3,#82,#50,#50,#49,#d4,#52
	db #c0,#00,#d4,#52,#4e,#4b,#d5,#80
	db #d3,#4d,#4b,#82,#50,#c0,#00,#d3
.l7b7a equ $ + 6
	db #50,#50,#4e,#4d,#4b,#ff,#df,#82
	db #19,#c0,#00,#df,#19,#19,#20,#c0
	db #00,#df,#20,#20,#1b,#c0,#00,#df
	db #1b,#1b,#22,#c0,#00,#df,#22,#22
	db #1d,#c0,#00,#df,#1d,#1d,#25,#c0
	db #00,#df,#25,#25,#1e,#c0,#00,#df
	db #1e,#1e,#27,#c0,#00,#df,#27,#27
	db #20,#c0,#00,#df,#20,#20,#29,#c0
	db #00,#df,#29,#29,#1e,#c0,#00,#df
	db #1e,#1e,#2a,#c0,#00,#df,#2a,#2a
	db #25,#c0,#00,#df,#25,#25,#1e,#c0
	db #00,#df,#1e,#1e,#20,#c0,#00,#df
	db #20,#27,#20,#c0,#00,#df,#20,#27
.l7be1 equ $ + 5
.l7bdd equ $ + 1
	db #ff,#c0,#8a,#00,#ff,#df,#82,#20
	db #c0,#00,#df,#20,#20,#1e,#c0,#00
	db #df,#1b,#1d,#c0,#00,#df,#1d,#22
	db #25,#22,#20,#1e,#22,#20,#1b,#14
	db #14,#c0,#00,#df,#14,#16,#18,#1e
	db #1b,#1d,#19,#c0,#00,#df,#1f,#20
.l7c0e equ $ + 2
	db #1b,#ff,#df,#82,#19,#c0,#00,#df
	db #19,#19,#20,#c0,#00,#df,#20,#20
	db #1b,#c0,#00,#df,#1b,#1b,#22,#c0
	db #00,#df,#22,#22,#20,#c0,#00,#df
	db #20,#20,#29,#c0,#00,#df,#29,#29
	db #22,#22,#20,#22,#20,#20,#1d,#1b
.l7c3d equ $ + 1
	db #ff,#df,#82,#1e,#c0,#00,#df,#1e
	db #1e,#20,#c0,#00,#df,#20,#20,#25
	db #c0,#00,#df,#25,#25,#22,#20,#1e
	db #1d,#df,#82,#1b,#c0,#00,#df,#1b
	db #1b,#1d,#1e,#20,#1d,#1b,#1b,#1d
	db #1e,#20,#1b,#20,#21,#df,#82,#ff
.l7c6c
	db #df,#82,#19,#c0,#00,#df,#25,#1e
	db #c0,#00,#df,#1e,#20,#c0,#00,#df
	db #20,#25,#1e,#20,#20,#c0,#00,#00
.l7c87 equ $ + 3
	db #df,#20,#ff,#df,#82,#19,#25,#19
	db #25,#1e,#2a,#1e,#2a,#20,#2c,#20
.l7c9a equ $ + 6
	db #2a,#20,#29,#20,#27,#ff,#a0,#df
	db #82,#01,#a1,#d3,#00,#a0,#55,#a1
	db #00,#a6,#dd,#50,#a1,#d3,#00,#d4
	db #00,#a0,#d3,#50,#df,#01,#a1,#d3
	db #00,#a0,#55,#a1,#d4,#00,#a5,#df
	db #50,#a1,#d3,#00,#d4,#00,#a0,#d3
.l7cc6 equ $ + 2
	db #50,#ff,#a0,#df,#82,#01,#a1,#d3
	db #00,#a0,#55,#a1,#d4,#00,#dd,#50
	db #d3,#00,#d4,#00,#a0,#50,#df,#01
	db #a1,#d3,#00,#a0,#55,#a1,#00,#a5
	db #df,#50,#a1,#d3,#49,#a5,#44,#a2
.l7cee equ $ + 2
	db #3d,#ff,#a0,#df,#82,#01,#a1,#d3
	db #00,#a0,#55,#a1,#d4,#00,#a5,#dd
	db #50,#a1,#d3,#00,#d4,#00,#a0,#d3
	db #50,#df,#01,#a1,#d3,#55,#50,#d4
	db #49,#a9,#dd,#55,#af,#50,#b2,#00
.l7d17 equ $ + 3
	db #b6,#44,#ff,#a0,#df,#82,#01,#a1
	db #d3,#00,#a5,#dd,#00,#a1,#d3,#00
	db #a0,#df,#01,#a1,#d3,#00,#a5,#dd
	db #00,#00,#a0,#df,#01,#a1,#d3,#00
	db #a6,#dd,#00,#a2,#d3,#00,#a0,#df
	db #01,#a2,#d3,#00,#a0,#c4,#80,#a2
	db #d3,#82,#a5,#dd,#00,#00,#a1,#d3
	db #ff
.l7d4d
	db #0f,#00,#0f,#00,#0f,#00,#0f,#00
	db #01,#0f,#84,#bc,#01,#00,#01,#00
	db #01,#0d,#83,#a7,#01,#00,#01,#00
	db #01,#0d,#02,#ff,#85,#b7,#01,#00
	db #01,#0b,#83,#a1,#01,#00,#01,#00
	db #01,#0f,#03,#00,#03,#ff,#84,#b0
	db #01,#0e,#01,#00,#82,#9c,#01,#00
	db #02,#07,#02,#ff,#02,#00,#0c,#ff
	db #01,#0f,#05,#ff,#04,#00,#83,#9e
	db #01,#0d,#02,#ff,#02,#00,#0b,#ff
	db #01,#0f,#01,#fb,#08,#00,#0a,#ff
	db #01,#0f,#01,#00,#03,#fb,#09,#00
	db #01,#0c,#02,#00,#0c,#ff,#01,#00
	db #01,#0f,#04,#ff,#08,#00,#0b,#ff
	db #01,#0d,#82,#84,#02,#00,#0b,#ff
	db #01,#0d,#02,#00,#06,#fe,#01,#ff
	db #01,#0e,#01,#00,#01,#f2,#01,#00
	db #01,#0f,#02,#00,#0f,#ff,#01,#00
	db #01,#0f,#02,#00,#82,#9e,#01,#00
	db #01,#0a,#01,#00,#01,#f6,#01,#00
	db #01,#0c,#01,#00,#01,#f4,#01,#00
	db #01,#0e,#01,#00,#01,#f2,#01,#00
	db #01,#0c,#04,#00,#0b,#ff,#01,#00
	db #01,#0e,#04,#00,#0b,#ff,#04,#00
	db #01,#0f,#04,#00,#0f,#ff,#01,#00
	db #01,#0c,#03,#00,#04,#fd,#01,#00
	db #01,#0e,#03,#00,#04,#fd,#01,#fe
	db #01,#0f,#03,#00,#08,#ff,#01,#00
	db #01,#0d,#03,#00,#08,#ff,#05,#00
	db #01,#0f,#09,#ff,#09,#01,#0f,#ff
	db #01,#0f,#02,#00,#0c,#ff,#0c,#01
	db #01,#0d,#0c,#ff,#0d,#01,#0e,#ff
.l7e4d
	dw l7a51,l7aa7,l7aab,l7ae9
	dw l7b16,l7b48,l7b7a,l7bdd
	dw l7be1,l7c0e,l7c3d,l7c6c
	dw l7c87,l7c9a,l7cc6,l7cee
	dw l7d17
;db #57,#2e,#00,#e6,#fc,#1f,#1f,#1f
;db #cb,#1d,#67,#79,#5f,#cb,#18,#1f
;db #a7,#1f,#01,#80,#40,#81,#4f,#09
;db #06,#54,#4e,#0a,#c9,#00,#e9,#00
;db #eb,#7e,#a7,#1f,#cb,#19,#1f,#cb
;db #19,#47,#2a,#a0,#57,#09,#eb,#c9
;db #85,#6f,#d0,#24,#c9,#00,#00,#00
;
.game_name
	db "Amazing",0
.game_year
	db "1986",0
.game_publisher
	db "Infogrames",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
